The present invention relates generally to a method and system for enabling software, and more particularly, to remotely activating upon a device initialization inactive software options resident in memory of the device.
Information exchange between a centralized facility and remote medical diagnostic devices and supporting systems, such as medical imaging systems, has steadily improved in recent years. Examples of systems capable of exchanging information remotely include magnetic resonant imaging (MRI) systems, computed tomography (CT) systems, ultrasound and x-ray systems, and positron emission tomography (PET) systems. Typically, these systems are factory configured having multiple options that may or may not be utilized by a customer or user. Some known systems permit a user to configure a device according to the user""s needs, but these systems require the user to determine and, often, guess as to what features will be needed in the future. To further complicate matters, users owning multiple devices often desire to network the devices even though activated options on the devices may vary.
Known systems attempt to sense on-going customer needs by arranging for a service technician to physically travel to the location of the device, install and enable the option, and in some cases, calibrate the device to ensure proper operation. Since service calls are normally conducted during device operation periods, the service calls result in unnecessary delay and device down time while installation of the new software application on the device is completed. Further, the user is limited as to when installation of a key to enable the option can occur. Even if demand for usage of the device having the selected options for enablement peaks around the date of the service call, it is generally not economical or efficient for a user to reschedule the service call. Rescheduling may deny access to options desired to be activated for an extended period of time. Additionally, a user may be charged fees associated with the cancellation and rescheduling of the service call.
Further advancements provide remote service to medical diagnostic systems in an effort to allow a level of service on a continual and interactive basis as needed by many facilities. In one such system, a facility can interactively receive messages via a network and can respond automatically to the messages if configured correctly. Data required to analyze a state of operation of the medical diagnostic device can be transferred and immediately stored for use during an electronic connection. This technique greatly facilitates identification of system problems, allows questions to be posed to the centralized facility, facilitates rapid transfer of updates and imaging protocols, and permits standard and customized reports to be automatically transmitted to subscribing systems or facilities without further user input or acceptance. The non-user interactive aspect of this technique allows the medical diagnostic facility to remain current on services provided by the centralized facility and to readily communicate with the facility.
Often, healthcare or other facilities desire to minimize initial purchase price expenditures by limiting the number of options that are activated. Later, as demand for inactive options increases, a facility may request activation of an option by sending a request to a centralized facility. After authentication of the request, it is then processed. Current solutions for processing the request include automatic direct downloading and installing of a software application to the device upon user selection of the option desired to be activated, or manual electronic transfers during service calls. These processes immediately install the software application in the device, independent and regardless of device operation status.
While such solutions and the provision of remote services to medical diagnostic devices have greatly enhanced the level of service and data exchange, it is not always desirable to immediately permit data exchange, especially installation of a software code while a device is in operation, such as when a medical imaging device is conducting an imaging scan. Furthermore, although advancements in data exchange have provided for automatic data transfers between a centralized facility and remotely located devices, they have not been able to ensure that installation is prevented during an active imaging session. Therefore, there is a need for providing a system and method of delaying activation of inactive options resident in memory of a device while the device is active or in use.
It would therefore be desirable to design a method and system to automatically activate options resident in memory of a device upon reboot of the device, thereby preventing automatic installation of options during device operation.
The present invention is directed to a system and method to activate software options in a device upon initialization of the device located remotely from a centralized facility for a selected time period after the centralized facility transmits an enabling key to the device sometime prior to a present initialization of the device to overcome the aforementioned problems.
The present invention includes hardware and software to enable, upon reboot of a device, such as a medical imaging scanner, inactive software applications stored in memory of the device. The device comprises a computerized network, a receiving center connected to the computerized network, and a processing station located within the receiving center and having one or more processors. The computerized network connects the receiving center to the device through an external communication network, such as the Internet, direct dial-up links, an intranet, or a wireless platform. The computerized network is designed such that the processors of the processing station are configured to receive a request from a user for activation of an inactive software application resident on the device. After receipt of the request, the one or more processors generate an electronic enabler configured to activate the software application. The processors then transmit the electronic enabler from the receiving center to the device. Transmission of the enabler can occur by email, direct download through the external communications network, transmission over a public or private communication line, or any other viable transmission means. The device further includes a processor which is programmed to control access to the inactive software application and verify transmission of the electronic enabler. If the electronic enabler is transmitted, the processor of the device determines a device operation status as active or inactive according to device operation at the time of receipt of the transmission. If the status is determined as active, the processor of the device prohibits activation and enablement of the software application until device initialization or reboot. If, however, the status is an inactive status, then the device processor automatically activates and enables the software application with device reboot. Alternatively, user authorization can be required prior to activation and enablement of the software application.
In accordance with the process of the present invention, a method to enable software options is disclosed that includes receiving an electronic request for activation of an inactive option in memory of a device located remotely from a centralized facility. The method further determines whether to activate the inactive option in response to the electronic request based on whether a set of criteria has been satisfied. The criteria is defined at the centralized facility and can include a number of parameters, including a user identifier, a system identifier, a host identifier, an option identifier, modality, and a period-of-use identifier. If the set of criteria is unsatisfied, use of the inactive option is denied. If the set of criteria is satisfied, the method generates an activation key configured to permit use of the inactive option upon installation of the key in the device, and further sends the activation key from the centralized facility to the device, wherein the activation key is automatically installed upon initialization of the device.
In accordance with another aspect of the present invention, a computer data signal embodied in a carrier wave and representing a set of instructions which, when executed by a processor, will cause the processor to review, at a centralized facility, a request from a user to activate a software application stored in memory of a device located remotely from the centralized facility. The processor of the centralized facility determines whether a user is qualified, and if so, generates a software script designed to enable the software application. The processor then transmits the software script from the centralized facility to the device thereby enabling the software application, but only upon reboot of the device.
In accordance with yet another aspect of the invention, a software enabling system is disclosed comprising a device remotely located from a centralized facility and configured to receive transmissions from the centralized facility, wherein the device includes one or more inactive applications resident in memory and a computer to control the one or more inactive applications. The system further includes a data script creator, wherein the creator is designed to generate a data script configured to enable a user selected inactive application. The data script is further configured to automatically enable the selected inactive application upon initialization, or reboot, of the device. Preferably, the data script is specific to one or more of a system identifier, an application identifier, a period-of-use identifier, and a host identifier.
Various other features, objects and advantages of the present invention will be made apparent from the following detailed description and the drawings.